package mjc.egg;
import mjc.compiler.*;
import mjc.gc.*;
import mg.egg.eggc.compiler.libjava.lex.*;
import mg.egg.eggc.compiler.libjava.messages.*;
import mg.egg.eggc.compiler.libjava.*;
import mg.egg.eggc.compiler.libjava.problem.IProblem;
import java.util.Vector;
public class S_ERX_MJAVA {
LEX_MJAVA scanner;
  S_ERX_MJAVA() {
    }
  S_ERX_MJAVA(LEX_MJAVA scanner) {
    this.scanner = scanner;
    this.att_scanner = scanner;
    }
int [] sync= new int[0];
  boolean att_isVariable;
  TDS att_htdsclasses;
  TDS att_htdsvarlocales;
  INFOCLASSE att_hinfoclasse;
  DTYPE att_type;
  LEX_MJAVA att_scanner;
  private void regle40() throws Exception {

    //declaration
    //appel
      action_action_40();
      action_typage3_40();
  }
  private void regle39() throws Exception {

    //declaration
    S_OPREL_MJAVA x_2 = new S_OPREL_MJAVA(scanner) ;
    S_ES_MJAVA x_3 = new S_ES_MJAVA(scanner) ;
    //appel
      action_auto_inh_39(x_2, x_3);
    x_2.analyser() ;
    x_3.analyser() ;
      action_action_39(x_2, x_3);
      action_typage2_39(x_2, x_3);
  }
private void action_action_40() throws Exception {
try {
// instructions
this.att_isVariable=true;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_auto_inh_39(S_OPREL_MJAVA x_2, S_ES_MJAVA x_3) throws Exception {
try {
// instructions
x_3.att_htdsvarlocales=this.att_htdsvarlocales;
x_3.att_htdsclasses=this.att_htdsclasses;
x_3.att_hinfoclasse=this.att_hinfoclasse;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_action_39(S_OPREL_MJAVA x_2, S_ES_MJAVA x_3) throws Exception {
try {
// instructions
this.att_isVariable=false;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_typage3_40() throws Exception {
try {
// instructions
this.att_type= new DTYPE("void", 0);
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_typage2_39(S_OPREL_MJAVA x_2, S_ES_MJAVA x_3) throws Exception {
try {
// instructions
this.att_type=x_3.att_type;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
  public void analyser () throws Exception {
    scanner.lit ( 1 ) ;
    switch ( scanner.fenetre[0].code ) {
      case LEX_MJAVA.token_inf : // 19936
        regle39 () ;
      break ;
      case LEX_MJAVA.token_infeg : // 19937
        regle39 () ;
      break ;
      case LEX_MJAVA.token_sup : // 19938
        regle39 () ;
      break ;
      case LEX_MJAVA.token_supeg : // 19939
        regle39 () ;
      break ;
      case LEX_MJAVA.token_eg : // 19940
        regle39 () ;
      break ;
      case LEX_MJAVA.token_neg : // 19941
        regle39 () ;
      break ;
      case LEX_MJAVA.token_affect : // 19922
        regle40 () ;
      break ;
      case LEX_MJAVA.token_virg : // 19919
        regle40 () ;
      break ;
      case LEX_MJAVA.token_pv : // 19920
        regle40 () ;
      break ;
      case LEX_MJAVA.token_parf : // 19914
        regle40 () ;
      break ;
      default :
               scanner._interrompre(IProblem.Syntax, scanner.getBeginLine(), IMJAVAMessages.id_MJAVA_unexpected_token,MJAVAMessages.MJAVA_unexpected_token,new String[]{scanner.fenetre[0].getNom()});
    }
  }
  }
